#pragma once
namespace SNMP 
{
	public ref class Entity
	{
	internal:
		HSNMP_SESSION m_hSession;
		HSNMP_ENTITY m_hEntity;

	public:
		void Clear(void);
		~Entity(void);

	public: 
		property System::String^ IPAddress
		{
			System::String^ get(void)
			{ 
				return Entity::EntityToString(this->m_hEntity,this->m_hSession);
			}
		};

	internal:
		Entity(void);
		Entity(HSNMP_SESSION hSession, HSNMP_ENTITY hEntity);
		void CreateEntityHandle(HSNMP_SESSION hSession, System::String^ IPAddress, unsigned long timeout, unsigned long retry);
		static System::String^ EntityToString(HSNMP_ENTITY m_hEntity, HSNMP_SESSION hSession);
	};
}